/**
 * 知识点：为什么会有这个文件？统一管理思想（把main.ts里面的配置抽取到这里）
 *  1. 方便对pinia进行统一的配置，原来配置在main.ts里面，会显得main.ts比较臃肿，
 * 且需要查看pinia配置的时候看的不够清晰
 *  2. 方便在其他地方引入pinia实例
 *  3. 方便对pinia进行二次封装
 *
 */

import { createPinia } from 'pinia'
import { createPersistedState } from 'pinia-plugin-persistedstate'

//pinia数据持久化配置
const pinia = createPinia()
pinia.use(
  createPersistedState({
    key: (key) => `pinia_${key}`,
    storage: localStorage,
  }),
)

export default pinia

// 【下面是统一导出所有store模块的代码】

// 知识点：统一管理思想（）
// 模块中所有对外导出（export）的内容，全部导入到当前模块，然后再重新导出，相当于一种 “转发导出” 机制
// 这种语法不会导出 ./modules/user 中用 default export 导出的内容
export * from './modules/user'
export * from './modules/consult'
